1. Field of the Invention
This invention relates to computer systems and, more particularly, to updating software components on computer systems.
2. Description of the Related Art
It is common practice for individuals and enterprises to enhance and improve the capabilities of computer systems by updating software components from time to time. For example, updates may be necessary to ensure that a software product complies with the latest security and functional specifications. Although software updates that add new features may occur infrequently, it is increasingly common to require frequent updates that include security patches, virus protection data, and other time-critical enhancements. Consequently, the load placed on servers that serve updates to a large number of clients has increased.
At present, clients may check for software updates by establishing a communication link to a Web, FTP, network, or other type of server using an application level protocol over TCP/IP, such as HTTP or FTP. However, the use of network server software consumes significant server resources, leading to a limit on the number of clients that may be served. For instance, resources may be consumed by connections that service software requests even when no updates are available. The network server may consume resources during processing of each request by checking for the presence of an update and generating a corresponding response. The combination of issues described above may lead to wasting of time and server resources during software updating, especially in enterprises that support large numbers of computer systems.
In view of the above, an effective system and method for obtaining software updates that accounts for these issues are desired.